package com.croot.infra.${projectFlag}.api.basic;

import com.croot.infra.${projectFlag}.dto.request.${entityName}ReqDTO;
import com.croot.infra.${projectFlag}.dto.request.${entityName}IdReqDTO;
import com.croot.infra.${projectFlag}.dto.response.${entityName}RespDTO;
import com.croot.infra.${projectFlag}.dto.response.${entityName}IdRespDTO;
import com.croot.infra.${projectFlag}.exception.${entityName}ServiceException;
import java.util.List;

public interface ${entityName}BasicAPI {

    List<${entityName}RespDTO> list(${entityName}ReqDTO ${entityParamName}ReqDTO) throws ${entityName}ServiceException;

    ${entityName}IdRespDTO add(${entityName}ReqDTO ${entityParamName}ReqDTO) throws ${entityName}ServiceException;

    void delete(${entityName}IdReqDTO ${entityParamName}IdReqDTO) throws ${entityName}ServiceException;

    void update(${entityName}ReqDTO ${entityParamName}ReqDTO) throws ${entityName}ServiceException;

    List<${entityName}RespDTO> listPage(${entityName}ReqDTO ${entityParamName}ReqDTO) throws ${entityName}ServiceException;

    Long count(${entityName}ReqDTO ${entityParamName}ReqDTO) throws ${entityName}ServiceException;

    ${entityName}RespDTO getById(${entityName}IdReqDTO ${entityParamName}IdReqDTO) throws ${entityName}ServiceException;
}